The present invention relates to a method for assigning an identity to an object in a database, which object represents an extension that includes a plurality of coordinate points in a coordinate system representing a multidimensional reality.
Various forms of databases for storing information exist very often in our increasingly computerised world. Information is usually structured in the database in the form of objects which, for instance, may represent a physical article whose properties are stored in the database.
When transferring the physical reality to a database, software comprising a graphical interface is often used, models being drawn into a coordinate system and stored in the database by the software. This is called xe2x80x9cwritingxe2x80x9d or xe2x80x9centeringxe2x80x9d the model into the database. One or more models are linked to an object, which may also be linked to information about the properties, choice of material, etc. of the object. The geometric models and other properties are stored in documents that are linked to an object by means of references to an object ID. This type of system is well known in CAD (Computer Aided Design), for instance. The information in the database is used in calculations performed by the designer, such as strength calculations, optimisation calculations, collision analyses, etc.
Each object is thus assigned an identity (object ID) in the database, to which object ID the software associates all information (all documents) that relates to this object. Sometimes the identity of the user is stated, but it is more usual for the object to be automatically assigned an ID by the software, possibly in accordance with specified rules.
One problem is that no uniform method exists for assigning object IDs. Usually the object ID is the same as a product number for a physical product, and every manufacturer has its own principles for numbering its products. This means that most databases are incompatible with each other.
Furthermore, a product number is not unique but may be shared by a large number of identical components. Consider, for instance, a screw of a certain type, with a specific product number, which is used as object ID in a database. Let us assume that the screw occurs 100 times in a construction that is stored in the database. Every time the screw appears it will then have the same ID, which means that there is no satisfactory way of distinguishing between the screws.
One way of dealing with this problem is to connect the product number of the screw to a plurality of positions. However, there is still no way of connecting a document to a specific occurrence of an object since the connection between document and object is based on the ID of the object.
One object of the present invention is to provide an improved database for handling objects.
A second object of the invention is to provide a method for assigning an object ID which facilitates the creation of an improved database structure.
A third object of the invention is to provide a substantially automatic method for standardised assignment of unique object IDs.
A fourth object of the invention is to provide a method for assigning object IDs that will facilitate searching in the database.
A fifth object of the invention is to achieve compatibility between databases.
The present invention relates to a method for assigning an identity to an object in a database, which object has an extension that includes a plurality of coordinate points in a coordinate system representing a multidimensional reality, which method is characterised by the steps of selecting one of the object""s coordinate points and assigning the object an identity based on said coordinate point.
That the object identity is based on a coordinate point in accordance with the invention means that each object is assigned an object ID that explicitly or implicitly provides information as to the position of the object in the coordinate system, or at least one of the object""s coordinate points.
Thus, when a component is entered at several places in the coordinate system, each occurrence of the component is assigned a unique object ID and a new object is entered into the database.
The connection between each object ID and a coordinate can be utilised in the structure of the database to achieve faster data processing. The objects can be sorted, for instance, in accordance with the coordinates related to the object IDs, so that the structure becomes easier to search.
In large systems it is normal for a database to be divided into a large number of units which may be located in a plurality of physical storage units, e.g. computer discs. Assigning object IDs in accordance with the invention then enables the coordinate information of each object to determine in which unit it shall occur. This structuring ensures that objects located close to each other in the coordinate system are also in all likelihood stored in the same unit.
One advantage of this is that objects located near each other can be found more quickly in the database. Another advantage of this type of structure is that it becomes possible to easily discover which objects are located in a particular area of a factory, for instance.
According to known technology, in which the object ID is a serial number containing no information, it is considerably more difficult to achieve such a division of database objects.
In a preferred embodiment of the invention the coordinate point is selected in a predetermined manner, that follows specific rules and is common to all objects. This ensures consistency in the database. Thus, all that is required to determine the extension of the object in the coordinate system is information as to the object ID, the point-based model describing the object and possibly a transformation matrix.
The step of selecting a point may then comprise the steps of identifying a first subset of coordinate points having an extreme value in one of the dimensions of the coordinate system; if said subset comprises more than one coordinate point, further identifying from said subset a second subset of object points having an extreme value in a second of the dimensions of the coordinate system, and repeating the preceding steps until a subset consisting of a single coordinate point has been identified.
It is normally sufficient to perform the selection in a suitably chosen dimension. However, several points with the same extreme value in one dimension may occur, and further selection may then be required.
The dimensions of the coordinate system are selected so that only one object occurs at each coordinate point, thus ensuring that a unique object ID is linked to each object. The dimensions preferably comprise the three spatial dimensions, the time dimension and some abstract dimension, e.g. to permit several alternative embodiments.
When one of the dimensions of the coordinate system consists of time, two object IDs may include identical spatial coordinates but different time coordinates. This enables an object to be replaced by a new object in the three-dimensional space, for instance, without the old object having to disappear from the database. Instead, the two objects with IDs based on the same spatial coordinates but with different time coordinates can coexist.
In accordance with one embodiment of the invention the object identity is based on information as to when the object was entered into the coordinate system. Similarly, the identity may be based, if relevant, on information as to when the object ceases to be valid.
A consequence of this is that a new object ID is immediately created when an object is moved in the coordinate system or changed in some other way. When this occurs, the software considers this as two events, namely:
The existing object ceases to be valid, whereupon the time information relating to its object ID is extended to include information as to when the object ceased to be valid,
A new object ID is created based on the new object. The ID of the new object is based on one of the spatial coordinate points of the object and time information specifying when the object was entered into the database.
One application of the invention is when the object is linked to a model drawn into a graphically represented coordinate system.
In accordance with one embodiment of the invention, each object represents a physical article, and particularly the geometric extension of this article. This is the case with CAD, for instance. In accordance with the invention each object ID then automatically relates a database object to a coordinate point comprising spatial coordinates and a time coordinate.
In accordance with one embodiment of the invention the ID of the object is linked to a time interval that specifies when the article exists in the reality represented by the coordinate system, i.e. the active time of the article.
When the time interval extends into the future the identity may be based on an index which permits the occurrence of several objects representing alternative future embodiments of the physical reality represented, which objects may have an overlapping extension in the coordinate system relating to time and space. The various alternatives may be considered as yet another dimension of the coordinate system.
This means that several units can coexist in the same place in the coordinate system relating to time and space, provided they are different alternative embodiments and thus have different indexes. An object need not therefore necessarily cease to be valid when it is changed or moved. Instead it may constitute an alternative to the new object, these two objects being assigned different indexes.